Nginx reverse proxy and Let’s Encrypt
Pada tulisan kali ini kita akan mencoba membuat reverse proxy menggunakan nginx dan menerapkan SSL menggunakan layanan let’sencrypt. Maka dari itu pada tutorial kali ini menggunakan dua mesin ( computer ) dan domain test1.blog.wistau.com.
Computer 1
Didalanya terinstall webserver apache2, untuk cara installnya bisa dilihat di LAMP ( Linux, Apache, Mysql/Mariadb, PHP ) dan computer ini mempuunyai ip 192.168.11.111.
Computer 2
Ini yang nanti akan kita install dan konfig reverse proxy dan let’sencrypt
Install nginx
Silahkan masuk computer 2 dan jangan lupa pastikan posisi kita sebagai root. Langkah awal yang perlu dilakukan adalah install nginx dengan cara melakukan perintah.
apt install nginx
Konfigurasi nginx
Untuk membuat reverse proxy menggunakan nginx caranya cukup mudah, caranya adalah mirip Ketika kita membuat server block atau virtualhost di nginx. buat file virtualhost di nginx dengan cara.
nano /etc/nginx/sites-available/test1
isi dari file test1 adalah seperti dibawah ini
server { listen 80; server_name test1.blog.wistau.com; location / { proxy_pass http://192.168.11.111:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Jangan lupa untuk menyimpanya dan tinggal kita aktifkan dengan perintah seperti dibawah ini.
ln -s /etc/nginx/sites-available/test1 /etc/nginx/sites-enabled/test1
silahkan cek ada error atau tidak, jika tidak bisa dilanjut dengan merestart service nginx
nginx -t
systemctl restart nginx
Let’s Encrypt
Selanjutnya kita akan melakukan setting Let’s Encrypt, yang perlu kita lakukan adalah memasang repository certbot dengan cara.
add-apt-repository ppa:certbot/certbot
dan ketikan perintah
apt update
setelah proses update selesai install certbot untuk nginx dengan cara
apt install python-certbot-nginx
setelah certbot nginx sudah terinstall untuk mensetting ssl di reverse proxy nginx ini caranya adalah ketikan perintah berikut ini
certbot --nginx -d test1.blog.wistau.com
apabila ada dialog seperti dibawah ini
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Silahkan pilih nomor dua dengan cara ketikan nomor 2 lalu enter
Oke sampe disini tutorial membuat reverse proxy menggunakan nginx dan let’sencrypt